package com.skt.manage.domain;

import java.math.BigDecimal;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.skt.common.annotation.Excel;
import com.skt.common.core.domain.BaseEntity;

/**
 * 健康档案对象 health_profiles
 * 
 * @author ffbaby
 * @date 2025-03-11
 */
public class HealthProfiles extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 健康档案ID */
    private Long profileId;

    /** 关联到patients表的patient_id */
    @Excel(name = "关联到patients表的patient_id")
    private Long patientId;

    /** 身高（cm） */
    @Excel(name = "身高", readConverterExp = "c=m")
    private BigDecimal heightCm;

    /** 体重（kg） */
    @Excel(name = "体重", readConverterExp = "k=g")
    private BigDecimal weightKg;

    /** 血压（如：120/80） */
    @Excel(name = "血压", readConverterExp = "如=：120/80")
    private String bloodPressure;

    /** 慢性病（如：高血压,糖尿病） */
    @Excel(name = "慢性病", readConverterExp = "如=：高血压,糖尿病")
    private String chronicDiseases;

    /** 血糖（mmol/L） */
    @Excel(name = "血糖", readConverterExp = "m=mol/L")
    private BigDecimal bloodGlucose;

    /** 胆固醇（mmol/L） */
    @Excel(name = "胆固醇", readConverterExp = "m=mol/L")
    private BigDecimal cholesterol;

    /** 患者基本信息 */
    @Excel(name = "患者基本信息")
    private String basicInfo;

    /** 病史记录 */
    @Excel(name = "病史记录")
    private String medicalHistory;

    /** 体检报告 */
    @Excel(name = "体检报告")
    private String physicalExamReport;

    /** 过敏信息 */
    @Excel(name = "过敏信息")
    private String allergies;

    /** 生活习惯 */
    @Excel(name = "生活习惯")
    private String lifestyleHabits;

    /** 家族病史 */
    @Excel(name = "家族病史")
    private String familyMedicalHistory;

    /** 其他备注信息 */
    @Excel(name = "其他备注信息")
    private String otherNotes;

    /** 创建时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "创建时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date createdAt;

    /** 更新时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "更新时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date updatedAt;

    public void setProfileId(Long profileId) 
    {
        this.profileId = profileId;
    }

    public Long getProfileId() 
    {
        return profileId;
    }
    public void setPatientId(Long patientId) 
    {
        this.patientId = patientId;
    }

    public Long getPatientId() 
    {
        return patientId;
    }
    public void setHeightCm(BigDecimal heightCm) 
    {
        this.heightCm = heightCm;
    }

    public BigDecimal getHeightCm() 
    {
        return heightCm;
    }
    public void setWeightKg(BigDecimal weightKg) 
    {
        this.weightKg = weightKg;
    }

    public BigDecimal getWeightKg() 
    {
        return weightKg;
    }
    public void setBloodPressure(String bloodPressure) 
    {
        this.bloodPressure = bloodPressure;
    }

    public String getBloodPressure() 
    {
        return bloodPressure;
    }
    public void setChronicDiseases(String chronicDiseases) 
    {
        this.chronicDiseases = chronicDiseases;
    }

    public String getChronicDiseases() 
    {
        return chronicDiseases;
    }
    public void setBloodGlucose(BigDecimal bloodGlucose) 
    {
        this.bloodGlucose = bloodGlucose;
    }

    public BigDecimal getBloodGlucose() 
    {
        return bloodGlucose;
    }
    public void setCholesterol(BigDecimal cholesterol) 
    {
        this.cholesterol = cholesterol;
    }

    public BigDecimal getCholesterol() 
    {
        return cholesterol;
    }
    public void setBasicInfo(String basicInfo) 
    {
        this.basicInfo = basicInfo;
    }

    public String getBasicInfo() 
    {
        return basicInfo;
    }
    public void setMedicalHistory(String medicalHistory) 
    {
        this.medicalHistory = medicalHistory;
    }

    public String getMedicalHistory() 
    {
        return medicalHistory;
    }
    public void setPhysicalExamReport(String physicalExamReport) 
    {
        this.physicalExamReport = physicalExamReport;
    }

    public String getPhysicalExamReport() 
    {
        return physicalExamReport;
    }
    public void setAllergies(String allergies) 
    {
        this.allergies = allergies;
    }

    public String getAllergies() 
    {
        return allergies;
    }
    public void setLifestyleHabits(String lifestyleHabits) 
    {
        this.lifestyleHabits = lifestyleHabits;
    }

    public String getLifestyleHabits() 
    {
        return lifestyleHabits;
    }
    public void setFamilyMedicalHistory(String familyMedicalHistory) 
    {
        this.familyMedicalHistory = familyMedicalHistory;
    }

    public String getFamilyMedicalHistory() 
    {
        return familyMedicalHistory;
    }
    public void setOtherNotes(String otherNotes) 
    {
        this.otherNotes = otherNotes;
    }

    public String getOtherNotes() 
    {
        return otherNotes;
    }
    public void setCreatedAt(Date createdAt) 
    {
        this.createdAt = createdAt;
    }

    public Date getCreatedAt() 
    {
        return createdAt;
    }
    public void setUpdatedAt(Date updatedAt) 
    {
        this.updatedAt = updatedAt;
    }

    public Date getUpdatedAt() 
    {
        return updatedAt;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("profileId", getProfileId())
            .append("patientId", getPatientId())
            .append("heightCm", getHeightCm())
            .append("weightKg", getWeightKg())
            .append("bloodPressure", getBloodPressure())
            .append("chronicDiseases", getChronicDiseases())
            .append("bloodGlucose", getBloodGlucose())
            .append("cholesterol", getCholesterol())
            .append("basicInfo", getBasicInfo())
            .append("medicalHistory", getMedicalHistory())
            .append("physicalExamReport", getPhysicalExamReport())
            .append("allergies", getAllergies())
            .append("lifestyleHabits", getLifestyleHabits())
            .append("familyMedicalHistory", getFamilyMedicalHistory())
            .append("otherNotes", getOtherNotes())
            .append("createdAt", getCreatedAt())
            .append("updatedAt", getUpdatedAt())
            .toString();
    }
}
